.TH E1432_OCTAVE 5 E1432
.SH NAME
e1432_octave \- Overview of E1432 Octave functionality
.IX e1432_octave(5) 5
.SH DESCRIPTION

.B "1D1 Option"

This option must be installed in a particular module in order for
Octave measurements to run in it.
Without this option, Octave parameters can still be set up but the
\fIe1432_init_measure\fR() call will fail with error -1621,
"Required option not installed".

The 1D1 option will normally be ordered when a module is ordered from
the factory.
However, provisions have been made to allow users to upgrade their units
in the field.
To do this, the user must supply the serial number of the module which is
to receive the upgrade.
The \fIprogopt\fR program can be used to obtain the exact serial string,
by running "progopt -S".
The "-L" option may be necessary if the module is
not located at the default logical address.
The \fIprogopt\fR program is also used to install the option,
which is in the form of a codeword from the factory,
by running "progopt -A 12345678", where "12345678" represents the codeword.
Running "progopt -R" will verify that the codeword was written.
Yet to be implemented is the process of ordering the 1D1 option upgrade
and receiving the codeword.
For now, this will be handled on a case by case basis.

.B "Octave API functions"
     
.cS
  \fIe1432_set_octave_mode\fR(), \fIe1432_get_octave_mode\fR()
    \fBE1432_OCTAVE_MODE_OFF\fR     No Octave processing
    \fBE1432_OCTAVE_MODE_FULL\fR    Full Octave processing
    \fBE1432_OCTAVE_MODE_THIRD\fR   Third Octave processing
     
  \fIe1432_set_octave_avg_mode\fR(), \fIe1432_get_octave_avg_mode\fR()
    \fBE1432_OCTAVE_AVG_MODE_EXP\fR  Exponential averaging
    \fBE1432_OCTAVE_AVG_MODE_LIN\fR  Linear averaging
     
  \fIe1432_set_octave_hold_mode\fR(), \fIe1432_get_octave_hold_mode\fR()
    \fBE1432_OCTAVE_HOLD_MODE_OFF\fR  No hold mode
    \fBE1432_OCTAVE_HOLD_MODE_MAX\fR  Maximum value held
    \fBE1432_OCTAVE_HOLD_MODE_MIN\fR  Minimum value held
     
  \fIe1432_set_octave_start_freq\fR(), \fIe1432_get_octave_start_freq\fR(),
  \fIe1432_set_octave_stop_freq\fR(), \fIe1432_get_octave_stop_freq\fR()
    Start/stop frequency band
    octave_start_freq: 3.15 Hz minimum
    octave_stop_freq:  20 KHz maximum
     
  \fIe1432_set_octave_int_time\fR(), \fIe1432_get_octave_int_time\fR()
    Integration/average time for Linear averaging.
    octave_int_time: .00953125 to 10,000 seconds
     
  \fIe1432_set_octave_time_const\fR(), \fIe1432_get_octave_time_const\fR()
    Time constant time step for Exponential averaging.
    octave_time_const: .0078125 to 1.0 seconds

  \fIe1432_set_octave_time_step\fR(), \fIe1432_get_octave_time_step\fR()
    Update time step/interval.
    octave_time_step:  .00953125 to 10,000 seconds
     
  \fIe1432_octave_ctl\fR()
    \fBE1432_OCTAVE_CTL_STOP\fR     Stop/Pause Octave processing
    \fBE1432_OCTAVE_CTL_RESTART\fR  Restart Octave processing
    \fBE1432_OCTAVE_CTL_CONTINUE\fR Continue paused Octave average
     
  \fIe1432_get_octave_blocksize\fR()
    The number of Octave samples per block is returned.
     
  \fIe1432_get_current_data\fR()
    Gets the most recent Octave data.
.cE
     
.B "Enhanced existing functions"
     
.cS
  \fIe1432_set_enable\fR()
    Enable type \fBE1432_ENABLE_TYPE_OCTAVE\fR added.
     
  \fIe1432_read_float64_data\fR(), \fIe1432_read_float32_data\fR()
    Data type \fBE1432_OCTAVE_DATA\fR added.
.cE
     
.B "API considerations"

There are a several constraints and/or unavailable features that exist
when Octave processing is active.

Most trigger types are supported:
auto, external, tachometer, source, and RPM arm.
However, input triggering is not supported.
Also, trigger delays (other than 0) are not supported.

Decimation filtering and associated features (such as order tracking) are
unavailable when Octave processing is active.

The clock frequency, as set by \fIe1432_set_clock_freq\fR, must be 65536.

Peak and RMS values are available with Octave processing, without the
need to turn on Peak/RMS processing.
However, only "filtered", and not "block" processing is done.

Octave data is in mean-squared form and scaled as such.
A square root must be taken to convert it into RMS data.

Because Octave processing is not independent from the time data processing,
the time parameters, such as blocksize, may still determine the update rate,
if they result in an update rate longer than the Octave update rate.
Note that this is true, even, when \fIe1432_set_enable\fR() is used to turn 
\fBE1432_ENABLE_TYPE_TIME\fR data off.

It may be nececessary to turn \fBE1432_ENABLE_TYPE_TIME\fR data off
for long Octave update rates.
See the documentation for \fIe1432_set_octave_int_time\fR(),
\fIe1432_set_octave_time_step\fR().

Octave data is not currently supported in "eavesdrop" mode
(while time data is being throughput to the local bus)
but the \fIe1432_get_current_data\fR() function may be used as an alternative.

Octave currently works with all types of data_mode, as set by
\fIe1432_set_data_mode\fR, and data_size, as set by \fIe1432_set_data_size\fR.

When reading multiple data types with \fIe1432_read_float64_data\fR, etc,
E1432_OCTAVE_DATA is currently the last in the order of data to be read.

.B "Octave downloadable"

Currently, the Octave downloadable is in the form of a file named soct.bin
and it is kept in the same directory as the substrate downloadable, sema.bin.
It does not replace sema.bin, but rather enhances functionality
to include octave measurements.
It is automatically downloaded when octave measurements are selected,
using the \fIe1432_set_octave_mode\fR().
See the documentation for these functions for more details.
Normally, a user has no need to be concerned with this file.

.SH "SEE ALSO"
.na
progopt(1),
e1432_set_octave_mode(3),
e1432_set_octave_avg_mode(3),
e1432_set_octave_hold_mode(3),
e1432_set_octave_start_freq(3), e1432_set_octave_stop_freq(3),
e1432_set_octave_int_time(3),
e1432_set_octave_time_const(3),
e1432_set_octave_time_step(3),
e1432_octave_ctl(3),
e1432_get_octave_blocksize(3),
e1432_get_current_data(3),
e1432_set_trigger_delay(3)
.ad
